import { Component, Vue } from 'vue-property-decorator';

/**
 * 这是一个列表公用业务逻辑处理的mixin类
 *
 * @Function delList 删除数据
 * @Function changeStatus 改变数据状态
 * @Function onDelClick 点击删除按钮时调用
 * @Function onInfoClick 点击详情按钮时
 *
 * @export
 * @class mixinGridOperation
 * @extends {Vue}
 */
@Component({
})
export class mixinGridOperation extends Vue {

    onEditClick({ row }: any) {
        const me = this as any;
        me.showWin(true, row);
    }

    /**
     * 删除数据
     * 需配置delItem方法
     *
     * @param {*} id 参数
     * @param {string} [tip='该条信息']
     * @memberof mixinGridOperation
     */
    delList(id: any, tip: string = '该条信息') {
        const me = this as any;
        me.$confirm(`您将删除${tip}，是否继续？`, "提示", {
            confirmButtonClass: "btn-blue"
        }).then(() => {
            // delItem 是固定的删除方法，在视图中需要固定配置
            // 例如  @Action("departDel") delItem: any;
            me.delItem(id).then(() => {
                me.loadView({ isDel: true });
            });
        }).catch(() => {
            me.delFailure && me.delFailure();
        });
    }
}
